home *** CD-ROM | disk | FTP | other *** search
/ Aminet 6 / Aminet 6 - June 1995.iso / Aminet / util / shell / axuucp_0_1.lha / axsh / rexx / test.rexx < prev    next >
Encoding:
OS/2 REXX Batch file  |  1994-12-25  |  1.3 KB  |  51 lines

  1. /*rx*/
  2.  
  3. say axconfig(arg(1))
  4. exit
  5.  
  6. /*@<axconfig>*/
  7.  
  8. /* get an AXsh configuration value */
  9.  
  10. axconfig: procedure
  11.   tempfile = "T:axconfig." || pragma('Id')
  12.   rc_index  = "AXsh:rexx/rc.index"
  13.   var_val=""; var_file=""; var_defval="";
  14.  
  15.   parse upper arg var_name
  16.   if left(var_name,1) ~= '%' then var_name = '%'var_name
  17.   if right(var_name,1) ~= ':' then var_name = var_name':'
  18.  
  19.   if open('idx',rc_index,'Read') then do
  20.     do until (eof('idx') | (var_file~=''))
  21.       str= translate(readln('idx'),' ',d2c(9))
  22.       if words(str) > 0 then do
  23.         parse var str vname ' ' fname '"' defval '"'
  24.         if upper(vname) = var_name then do
  25.           var_file= strip(fname,'B',' 'd2c(9))
  26.           var_defval= defval
  27.           end
  28.         end
  29.       end
  30.     call close('idx')
  31.     end
  32.   else say 'Could not read "'rc_index'"'
  33.  
  34.   if words(var_file) > 0 then do
  35.     if open('rc',var_file,'Read') then do
  36.       do until (eof('rc') | (var_val~=''))
  37.         str= translate(readln('rc'),' ',d2c(9))
  38.         if upper(word(str,1)) = var_name then var_val = strip(readln('rc'),'B',' 'd2c(9))
  39.         end
  40.       call close('rc')
  41.       end
  42.     else say 'Could not examine "'var_file'" for' var_name
  43.     end
  44.   else do
  45.     if words(var_defval) > 0 then var_val= var_defval
  46.     else say 'No such config variable:' var_name
  47.     end
  48.  
  49.   return var_val
  50.  
  51.